package com.credithc.fastdfs.monitor.service;

import java.io.IOException;
import java.util.List;

import org.csource.common.MyException;

import com.credithc.fastdfs.api.entity.Group;
import com.credithc.fastdfs.api.entity.Storage;
import com.credithc.fastdfs.monitor.jsonbean.Line;
/** 
 * @ClassName: MonitorService 
 * @Description: 监控服务
 * @author zhaoc
 * @date 2015年5月20日
 * @time  下午2:30:10 
 */ 
public interface MonitorService {
	/**
	 * @Title: listGroupInfo 
	 * @Description: 时时获取监控信息
	 * @param 
	 * @return List<Group>
	 * @throws
	 */
	List<Group> listGroupInfo() throws IOException, MyException;
	/**
	 * @Title: listStorageMemLines 
	 * @Description: 返回内存折线图数据
	 * @param 
	 * @return List<Line>
	 * @throws
	 */
	List<Line> listStorageMemLines(String groupName) throws IOException, MyException;
	/**
	 * @Title: listStorageMemLines 
	 * @Description: 返回CPU折线图数据
	 * @param 
	 * @return List<Line>
	 * @throws
	 */
	List<Line> listStorageCpuLines(String groupName) throws IOException, MyException;
	/**
	 * @Title: listStorage 
	 * @Description: 查询存储数据
	 * @param 
	 * @return List<Storage>
	 * @throws
	 */
	List<Storage> listStorage(String groupName) throws IOException, MyException;
	
	/**流量数据
	 *@date 2015年5月20日
	 *@author checkSun
	 *@description 
	 * @param ip
	 * @param start
	 * @param end
	 * @return
	 * update by zhaoc 修改流量折线图 模仿 容量折线图
	 */
	List<Line> getNetTrafficLines(String ip, String start, String end, String searchType)throws IOException, MyException;
	/** 
	 * @Title: getCapacityLines 
	 * @Description: 容量监控折线图
	 * @param 
	 * @return List<Line>
	 * @throws 
	 */ 
	List<Line> getCapacityLines(String ip, String start, String end, String searchType) throws IOException, MyException;
	
	/** 
	 * @Title: getFileCountLines 
	 * @Description: 文件数量图
	 * @param 
	 * @return List<Line>
	 * @throws 
	 */ 
	List<Line> getFileCountLines(String ip, String start, String end, String searchType)throws IOException, MyException;
}
